home *** CD-ROM | disk | FTP | other *** search
- class LevelManager extends Library.DispatcherBase
- {
- var mcRef;
- var oCurrentLevel;
- var oMainSideScroller;
- var oTakGround;
- static var oCtrl;
- static var DEPTH_MAIN_SS = 5;
- static var LAYER_ID_BG1 = "Background1";
- static var LAYER_ID_BG2 = "Background2";
- static var LAYER_ID_RUNLEVEL = "RunLevel";
- static var LAYER_ID_FRONT = "Front";
- static var BASE_FLOOR = 345;
- static var TAK_GROUND_START_X = -50;
- static var TAK_GROUND_START_Y = 300;
- function LevelManager(__mcRef, __oLevel)
- {
- super();
- this.mcRef = __mcRef;
- LevelManager.oCtrl = this;
- this.oCurrentLevel = __oLevel;
- Main.Instance.doAddListener(this);
- this.doBuildLevel();
- }
- static function get Instance()
- {
- return LevelManager.oCtrl;
- }
- function onTakReachEnd()
- {
- Game.Instance.onTakReachEnd();
- }
- function doAddMSObstacle(__mcObject, _nPercent)
- {
- var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
- var _loc3_ = new MoonStoneObstacle(__mcObject,_loc2_,_nPercent);
- }
- function doAddBird(__mcObject)
- {
- var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
- var _loc3_ = new Bird(__mcObject,_loc2_);
- }
- function doAddFrontExplodableObstacle(__mcObject, __sLinkage)
- {
- var _loc3_ = this.oMainSideScroller.getLayerFor(__mcObject);
- var _loc5_ = Library.Utils.MoreMath.getBoundsCenter(__mcObject.getBounds(_loc3_.Ref));
- __mcObject.swapDepths(_loc3_.getRemoveDepth(__mcObject));
- __mcObject.removeMovieClip();
- var _loc2_ = _loc3_.doAttachVisual(__sLinkage);
- this.doPutInFront(_loc2_);
- _loc2_._x = _loc5_.x;
- _loc2_._y = _loc5_.y;
- var _loc6_ = new ExplodableObstacle(_loc2_,_loc3_);
- }
- function doAddExplodableObstacle(__mcObject)
- {
- var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
- var _loc3_ = new ExplodableObstacle(__mcObject,_loc2_);
- }
- function doAddEndTrigger(__mcObject)
- {
- var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
- var _loc3_ = new EndTrigger(__mcObject,_loc2_);
- }
- function doAddMoonStone(__mcObject)
- {
- var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
- var _loc3_ = new MoonStone(__mcObject,_loc2_);
- }
- function doAddMiniStone(__mcObject)
- {
- var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
- var _loc3_ = new MiniStone(__mcObject,_loc2_);
- }
- function doAddFeather(__mcObject)
- {
- var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
- var _loc3_ = new Feather(__mcObject,_loc2_);
- }
- function doAddPepper(__mcObject)
- {
- var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
- var _loc3_ = new Pepper(__mcObject,_loc2_);
- }
- function doPutInFront(__mc)
- {
- var _loc2_ = this.oMainSideScroller.getLayerFor(__mc);
- _loc2_.doPutInFront(__mc);
- }
- function doResumeFromMiniGame()
- {
- this.doResume();
- this.oTakGround.onBackFromMiniGame();
- }
- function doDestroy()
- {
- this.oMainSideScroller.doDestroy();
- this.oTakGround.doDestroy();
- delete this.oTakGround;
- delete this.oCurrentLevel;
- delete LevelManager.oCtrl;
- delete this.oMainSideScroller;
- }
- function doBuildLevel()
- {
- this.oMainSideScroller = new SideScroller.SideScrollerManager(this.mcRef,Game.STAGE_WIDTH,Game.STAGE_HEIGHT,this);
- this.oMainSideScroller.setScrollMethod(SideScroller.SideScrollerManager.SCROLL_ONE_WAY);
- this.oMainSideScroller.setScrollSpeed(0.15);
- if(this.oCurrentLevel.LevelNumber == 3 && this.oCurrentLevel.LevelType != BaseLevelData.LEVEL_TYPE_USER)
- {
- var _loc7_ = this.oMainSideScroller.doAddLayer("FixedYellow",SideScroller.Layer.TYPE_STATIC,SideScroller.Layer.METHOD_RANDOM);
- _loc7_.doAddPanelLinkage("Amb3_mcBgFixed");
- }
- var _loc4_ = this.oMainSideScroller.doAddLayer(LevelManager.LAYER_ID_BG1,SideScroller.Layer.TYPE_MOVING,SideScroller.Layer.METHOD_RANDOM);
- _loc4_.doAddPanelLinkage(this.oCurrentLevel.sPanelBg1);
- _loc4_.ParalaxRatioX = 0.2;
- _loc4_.ParalaxRatioY = 0.1;
- _loc4_.setOverlap(1.5);
- var _loc3_ = this.oMainSideScroller.doAddLayer(LevelManager.LAYER_ID_BG2,SideScroller.Layer.TYPE_MOVING,SideScroller.Layer.METHOD_RANDOM);
- _loc3_.doAddPanelLinkageSet(Library.Utils.Tools.doCopyArray(this.oCurrentLevel.aPanelBg2));
- _loc3_.ParalaxRatioX = 0.5;
- if(this.oCurrentLevel.LevelNumber == 1 || this.oCurrentLevel.LevelNumber == 3 || this.oCurrentLevel.LevelType != BaseLevelData.LEVEL_TYPE_USER)
- {
- _loc3_.ParalaxRatioY = 0.3;
- }
- _loc3_.setOverlap(1.5);
- var _loc2_ = this.oMainSideScroller.doAddLayer(LevelManager.LAYER_ID_RUNLEVEL,SideScroller.Layer.TYPE_MOVING,SideScroller.Layer.METHOD_ORDERED);
- _loc2_.BaseFloor = this.oCurrentLevel.nFloorHeight;
- _loc2_.setOverlap(1.5);
- if(this.oCurrentLevel.sPanelStart != undefined)
- {
- _loc2_.doAddPanelLinkage(this.oCurrentLevel.sPanelStart);
- }
- _loc2_.doAddPanelLinkageSet(this.oCurrentLevel.Panels);
- if(this.oCurrentLevel.sPanelEnd != undefined)
- {
- _loc2_.doAddPanelLinkage(this.oCurrentLevel.sPanelEnd);
- }
- this.oMainSideScroller.setDefaultLayer(LevelManager.LAYER_ID_RUNLEVEL);
- var _loc6_ = _loc2_.doAttachVisual("Dynamic_TakGround");
- _loc6_._x = LevelManager.TAK_GROUND_START_X;
- _loc6_._y = LevelManager.TAK_GROUND_START_Y;
- this.oTakGround = new TakGround(_loc6_,_loc2_);
- this.oMainSideScroller.CameraManager.doLockOn(this.oTakGround);
- if(this.oCurrentLevel.LevelNumber == 3 && this.oCurrentLevel.LevelType != BaseLevelData.LEVEL_TYPE_USER)
- {
- var _loc5_ = this.oMainSideScroller.doAddLayer(LevelManager.LAYER_ID_FRONT,SideScroller.Layer.TYPE_MOVING,SideScroller.Layer.METHOD_RANDOM);
- _loc5_.doAddPanelLinkage("Amb3_Panel_Front");
- _loc5_.ParalaxRatioX = 1;
- _loc5_.ParalaxRatioY = 1;
- }
- }
- }
-